/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package edu.ufes.gpf.sgm.state.incluirMandado;

import edu.ufes.gpf.sgm.presenter.IncluirMandadoPresenter;
import java.awt.Component;
import java.awt.event.ActionListener;
import javax.swing.JButton;

/**
 *
 * @author Danilo
 */
public abstract class AbstractStateIncluirMandado
{
    protected IncluirMandadoPresenter objeto;

    public AbstractStateIncluirMandado(IncluirMandadoPresenter objeto)
    {
        this.objeto = objeto;
        limpaListeners();
    }
    
 
    public abstract void salvar();
    
    public void sair()
    {
        objeto.getView().dispose();
    }
    
    protected void limpaListeners()
    {

        for (Component c : objeto.getView().getContentPane().getComponents())
        {
            if (c instanceof JButton)
            {
                for (ActionListener al : ((JButton) c).getActionListeners())
                {
                    ((JButton) c).removeActionListener(al);
                }
            }
        }
    }
    
    protected void liberarTelaPraEdição()
    {
        objeto.getView().getTxtNumPessoal().setEnabled(true);
        objeto.getView().getTxtNumAutos().setEnabled(true);
        objeto.getView().getTxtNumCentral().setEnabled(true);
        objeto.getView().getTxtDataDistribuicao().setEnabled(true);
        objeto.getView().getTxtDataRecebimento().setEnabled(true);
        objeto.getView().getTxtPessoasRelacionadas().setEnabled(true);
        objeto.getView().getCbmTipoMandado().setEnabled(true);
        objeto.getView().getTblPessoas().setEnabled(true);

    }
    
    protected void bloquearTelaPraEdição()
    {
        objeto.getView().getTxtNumPessoal().setEnabled(false);
        objeto.getView().getTxtNumAutos().setEnabled(false);
        objeto.getView().getTxtNumCentral().setEnabled(false);
        objeto.getView().getTxtDataDistribuicao().setEnabled(false);
        objeto.getView().getTxtDataRecebimento().setEnabled(false);
        objeto.getView().getTxtPessoasRelacionadas().setEnabled(false);
        objeto.getView().getCbmTipoMandado().setEnabled(false);
        objeto.getView().getTblPessoas().setEnabled(false);
        
    }
    
    protected void limparCampos()
    {
        objeto.getView().getTxtNumPessoal().setText("");
        objeto.getView().getTxtNumAutos().setText("");
        objeto.getView().getTxtNumCentral().setText("");
        objeto.getView().getTxtDataDistribuicao().setText("");
        objeto.getView().getTxtDataRecebimento().setText("");
        objeto.getView().getTxtPessoasRelacionadas().setText("");
        objeto.getView().getCbmTipoMandado().setSelectedIndex(0);
    }
}
